<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link rel="stylesheet" href="../tools/bootstrap-3.3.7-dist/css/bootstrap.min.css">
  <link rel="stylesheet" href="../css/base.css">
  <link rel="stylesheet" href="../css/login.css">
</head>
<body>
    <div class="jumbotron">
      <h1>欢迎光临 NZ2002 SHOP</h1>
      <div class="login">
        <form class="form-horizontal">
          <div class="form-group">
            <label for="username" class="col-sm-2 control-label">用户名</label>
            <div class="col-sm-10">
              <input name="name" type="text" class="form-control" id="username" placeholder="用户名">
            </div>
          </div>
          <div class="form-group">
            <label for="password" class="col-sm-2 control-label">密码</label>
            <div class="col-sm-10">
              <input name="pwd" type="password" class="form-control" id="password" placeholder="密码">
            </div>
          </div>

          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button name="login" type="submit" class="btn btn-default">登录</button>
            </div>
          </div>
        </form>

        <div name="result"></div>
      </div>
    </div>

    <script src="../tools/jquery.min.js"></script>
    <script src="../js/ajax.js"></script>
    <script src="../js/cookie.js"></script>
    <script>
      // 给 登录按钮 添加点击事件
      $('[name="login"]').click(function(){
        // 触发执行 async 封装的函数程序
        setLogin();

        // 在 jQuery的事件中 定义 return false 
        // 可以 阻止默认事件的执行 也可以 阻止事件的传播
        return false;
      })

      // 使用 async 封装函数
      async function setLogin(){
        // 获取 账号 密码 数据
        let name = $('[name="name"]').val();
        let pwd = $('[name="pwd"]').val();

        // 应该有 验证 我懒得写了

        // 触发 await 执行 封装的promise,ajax请求
        const res = await myPromiseAjax('../server/goods_login.php' , 'post' , {userName:name , userPwd:pwd} , 'json') ;                                                        
        console.log( res );

        // 根据结果动态生成页面
        if( res.result === 1 ){
          // 登录成功 设定 cookie 
          // 键名 是 login 键值 1
          mySetCookie( 'login' , 1 , '/' , 7*24*60*60 );

          // 登录成功 跳转效果
          $('[name="result"]').html('<span>登录成功,5秒返回上一个页面,<a href="./index.html">点击跳转首页面</a></span>');

          let num = 5; 
          let time = setInterval(function(){
            num--;
            $('[name="result"]').html(`<span>登录成功,${num}秒返回上一个页面,<a href="./index.html">点击跳转首页面</a></span>`);
            if(num === 1){
              clearInterval(time);
              // 登录成功后 返回的是 上一个 页面 
              // 如果是多个页面跳转过来的 
              // 也可以使用 window.history.go(-数值) 实现效果
              window.history.back();
            }
          } , 1000 )
        
        }else if( res.result === 0 ){
          // 登录失败 写入提示信息
          $('[name="result"]').html('<span style="color:red">账号/密码输出错误</span>');
        }
      }
    </script>

    <script>
      /*

        特别注意:
          form标签 点击默认效果是 跳转页面携带参数
          如果 在 form标签中 执行ajax请求 
          需要阻止 form标签的 默认事件

        点击登录按钮 
          获取 账号 密码 

          向 server/goods_login.php 发送请求
          请求方式 post
          携带2个参数 键名是 userName userPwd
          响应体格式是 json字符串
      
      
      
      */ 

    </script>
</body>
</html>
